﻿using CarEdge.Infrastructure.Attr;
using CarEdge.Infrastructure.Dto.Request.Consume;
using CarEdge.Infrastructure.Dto.Request.Customer;
using CarEdge.Infrastructure.Dto.Request.Dic;
using CarEdge.Infrastructure.Dto.Request.VIP;
using CarEdge.Infrastructure.Dto.Response;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CarEdge.Service.Interface.VIP
{
    [Provider_]
    public interface I_VIP_Service
    {
        Task<Api_Response_Dto> AddVIP(VIP_Request_Dto dto);
        Task<Api_Response_Dto> AddVIPType(Dic_Request_Dto dto);
        Task<Api_Response_Dto> BindTodayData();
        Task<Api_Response_Dto> GetName(string phone);
        Task<Api_Response_Dto> Consumption(Consume_Request_Dto dto);
        Task<Api_Response_Dto> DeleteVIP(Customer_Request_Dto dto);
        Task<Api_Response_Dto> DeleteVIPType(VIP_Request_Dto dto);
        Task<Api_Response_Dto> GetAllVIP(int page, int limit, string key, string type);
        Task<Api_Response_Dto> GetAllVIPType();
        Task<Api_Response_Dto> GetLastYearRecharge();
        Task<Api_Response_Dto> GetLastYearVIPAdd();
        Task<Api_Response_Dto> GetUserRechargeByid(string id);
        Task<Api_Response_Dto> GetVIPById(string id);
        Task<Api_Response_Dto> GetVIPConsumeById(string id, int type);
        Task<Api_Response_Dto> GetVIPTypeById(string id);
        Task<Api_Response_Dto> Recharge(Consume_Request_Dto dto);
        Task<Api_Response_Dto> UpdateVIP(VIP_Request_Dto dto);
        Task<Api_Response_Dto> BindSale();
        Task<Api_Response_Dto> bindvipcount();
        Task<Api_Response_Dto> bindactive();
        Task<Api_Response_Dto> bindconsumption();
        Task<Api_Response_Dto> bindactiveEcharts();
        Task<Api_Response_Dto> ExpireVIP(VIP_Request_Dto dto);
        Task<Api_Response_Dto> hfvip(VIP_Request_Dto dto);
        Task<Api_Response_Dto> gethycard();
        Task<Api_Response_Dto> getexpirehycard();
        Task<Api_Response_Dto> getbesthy();
        Task<Api_Response_Dto> getmincard();
        Task<Api_Response_Dto> bestuser();
        Task<Api_Response_Dto> todayRecharge();
    }
}
